package ooday03.homework;

/**
 * 达内员工管理系统设计：
 *    1)教研总监:名字、年龄、工资、上班打卡()、下班打卡()、完成工作()、解决企业问题()、培训员工()、编辑书籍()
 *    2)讲师:名字、年龄、工资、上班打卡()、下班打卡()、完成工作()、解决企业问题()、培训员工()、编辑书籍()
 *    3)项目经理:名字、年龄、工资、上班打卡()、下班打卡()、完成工作()、编辑书籍()
 *    4)班主任:名字、年龄、工资、上班打卡()、下班打卡()、完成工作()
 */

public class EmployeeDesign {
    public static void main(String[] args) {
        /**
         *    设计:
         *    1)雇员超类:名字、年龄、工资、上班打卡(){}、下班打卡(){}、abstract 完成工作()
         *    2)企业顾问接口: 解决企业问题()、培训员工()
         *    3)技术作者接口: 编辑书籍()
         *    4)教研总监类，继承雇员超类，实现企业顾问接口和技术作者接口: 重写4个抽象方法
         *    5)讲师类，继承雇员超类，实现企业顾问接口和技术作者接口: 重写4个抽象方法
         *    6)项目经理类，继承雇员超类，实现技术作者接口: 重写2个抽象方法
         *    7)班主任类，继承雇员超类: 重写1个抽象方法
         */
    }
}
// 父类
abstract class Employee{
    String name;
    int age;
    String salary;

    Employee() {
    }
    Employee(String name, int age, String salary) {
        this.name = name;
        this.age = age;
        this.salary = salary;
    }
    void workUp(){
        System.out.println(name+"正在上班打卡");
    }
    void workUnder(){
        System.out.println(name+"正在下班打卡");
    }
    abstract void workFinish();
}

// 解决企业问题()、培训企业员工()    接口
interface SettleStudy{
    void settle();
    void study();
}
// 编辑书籍()   接口
interface Book{
    void book();
}

// 教研总监
abstract class Majordomo extends Employee implements SettleStudy,Book{
    Majordomo() {
    }
    Majordomo(String name, int age, String salary) {
        super(name, age, salary);
    }

    void workFinish() {
        System.out.println("教研总监"+super.name+"完成工作...");
    }
    public void settle() {
        System.out.println("教研总监"+super.name+"解决企业问题");
    }
    public void study() {
        System.out.println("教研总监"+super.name+"培训企业员工");
    }
    public void book(){
        System.out.println("教研总监"+super.name+"正在编辑书籍");
    }
}
// 讲师
abstract class teacher extends Employee implements SettleStudy{
    teacher() {
    }
    teacher(String name, int age, String salary) {
        super(name, age, salary);
    }

    void workFinish() {
        System.out.println("讲师"+super.name+"完成工作...");
    }
    public void settle() {
        System.out.println("讲师"+super.name+"解决企业问题");
    }
    public void study() {
        System.out.println("讲师"+super.name+"培训企业员工");
    }
    public void book(){
        System.out.println("讲师"+super.name+"正在编辑书籍");
    }

}
// 项目经理
abstract class Manger extends Employee{
    Manger() {
    }
    Manger(String name, int age, String salary) {
        super(name, age, salary);
    }

    void workFinish() {
        System.out.println("项目经理"+super.name+"完成工作...");
    }
    public void book(){
        System.out.println("项目经理"+super.name+"正在编辑书籍");
    }

}

// 班主任
abstract class Headmaster extends Employee{
    Headmaster() {
    }
    Headmaster(String name, int age, String salary) {
        super(name, age, salary);
    }
    void workFinish() {
        System.out.println("班主任"+super.name+"完成工作...");
    }
}





























